:root {
  font-family: system-ui, Avenir, Helvetica, Arial, sans-serif;
  line-height: 1.5;
  font-weight: 400;

  color-scheme: light dark;
  color: rgba(255, 255, 255, 0.87);
  background-color: #242424;

  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

  /* Color variables for aurora background */
  --white: #ffffff;
  --black: #000000;
  --transparent: transparent;
  --blue-300: #93c5fd;
  --blue-400: #60a5fa;
  --blue-500: #3b82f6;
  --indigo-300: #a5b4fc;
  --violet-200: #ddd6fe;
  
  /* 蓝紫色主题色变量 */
  --blue-purple-50: #f0f4ff;
  --blue-purple-100: #e0e7ff;
  --blue-purple-200: #c7d2fe;
  --blue-purple-300: #a5b4fc;
  --blue-purple-400: #818cf8;
  --blue-purple-500: #6366f1;
  --blue-purple-600: #4f46e5;
  --blue-purple-700: #4338ca;
  --blue-purple-800: #3730a3;
  --blue-purple-900: #312e81;
  
  --indigo-400: #818cf8;
  --indigo-500: #6366f1;
  --indigo-600: #4f46e5;
  --violet-300: #c4b5fd;
  --violet-400: #a78bfa;
  --violet-500: #8b5cf6;
  --purple-300: #d8b4fe;
  --purple-400: #c084fc;
  --purple-500: #a855f7;
  --purple-600: #9333ea;
}

/* Aurora Background Effect */
.aurora-background {
  position: absolute;
  inset: 0;
  --white-gradient: repeating-linear-gradient(100deg, var(--white) 0%, var(--white) 7%, var(--transparent) 10%, var(--transparent) 12%, var(--white) 16%);
  --dark-gradient: repeating-linear-gradient(100deg, var(--black) 0%, var(--black) 7%, var(--transparent) 10%, var(--transparent) 12%, var(--black) 16%);
  --aurora: repeating-linear-gradient(100deg, var(--blue-500) 10%, var(--indigo-300) 15%, var(--blue-300) 20%, var(--violet-200) 25%, var(--blue-400) 30%);
  background-image: var(--white-gradient), var(--aurora);
  background-size: 300%, 200%;
  background-position: 50% 50%, 50% 50%;
  filter: blur(10px);
  filter: invert(1);
  pointer-events: none;
  margin: -10px;
  opacity: 0.5;
  will-change: transform;
  mask-image: radial-gradient(ellipse at 100% 0%, black 10%, var(--transparent) 70%);
}

.aurora-background::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image: var(--white-gradient), var(--aurora);
  background-size: 200%, 100%;
  animation: aurora 60s linear infinite;
  background-attachment: fixed;
  mix-blend-mode: difference;
}

/* Dark mode styles */
.dark .aurora-background {
  background-image: var(--dark-gradient), var(--aurora);
  filter: blur(10px);
}

.dark .aurora-background::after {
  background-image: var(--dark-gradient), var(--aurora);
}

/* Ant Design Vue 主题色覆盖 */
/* 按钮主题色 */
.ant-btn-primary {
  background-color: var(--blue-purple-500) !important;
  border-color: var(--blue-purple-500) !important;
}

.ant-btn-primary:hover {
  background-color: var(--blue-purple-600) !important;
  border-color: var(--blue-purple-600) !important;
}

.ant-btn-primary:focus {
  background-color: var(--blue-purple-600) !important;
  border-color: var(--blue-purple-600) !important;
}

/* 输入框聚焦色 */
.ant-input:focus,
.ant-input-focused {
  border-color: var(--blue-purple-500) !important;
  box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.2) !important;
}

.ant-input-affix-wrapper:focus,
.ant-input-affix-wrapper-focused {
  border-color: var(--blue-purple-500) !important;
  box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.2) !important;
}

/* 复选框主题色 */
.ant-checkbox-checked .ant-checkbox-inner {
  background-color: var(--blue-purple-500) !important;
  border-color: var(--blue-purple-500) !important;
}

.ant-checkbox-wrapper:hover .ant-checkbox-inner,
.ant-checkbox:hover .ant-checkbox-inner,
.ant-checkbox-input:focus + .ant-checkbox-inner {
  border-color: var(--blue-purple-500) !important;
}

/* 链接主题色 */
a {
  color: var(--blue-purple-500);
}

a:hover {
  color: var(--blue-purple-600);
}

/* 加载状态主题色 */
.ant-spin-dot-item {
  background-color: var(--blue-purple-500) !important;
}

/* 消息提示主题色 */
.ant-message-info .anticon {
  color: var(--blue-purple-500) !important;
}

/* 表单验证色 */
.ant-form-item-has-error .ant-input:focus,
.ant-form-item-has-error .ant-input-focused,
.ant-form-item-has-error .ant-input-affix-wrapper:focus,
.ant-form-item-has-error .ant-input-affix-wrapper-focused {
  border-color: #f5222d !important;
  box-shadow: 0 0 0 2px rgba(245, 34, 45, 0.2) !important;
}

/* 默认按钮主题色覆盖 */
.ant-btn-default:not(:disabled):hover {
  color: var(--blue-purple-500) !important;
  border-color: var(--blue-purple-500) !important;
}

.ant-btn-default:not(:disabled):focus {
  color: var(--blue-purple-500) !important;
  border-color: var(--blue-purple-500) !important;
}

/* Primary按钮disabled状态字体颜色优化 */
.ant-btn-primary:disabled {
  color: rgba(255, 255, 255, 0.8) !important;
}

.ant-btn-primary:disabled:hover {
  color: rgba(255, 255, 255, 0.8) !important;
}

/* 全局隐藏滚动条 */
html, body {
  overflow-x: hidden;
}

/* 隐藏所有滚动条但保持滚动功能 */
* {
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE and Edge */
}

*::-webkit-scrollbar {
  display: none; /* Chrome, Safari and Opera */
}